package com.cskaoyan.file.basic;

import java.io.IOException;

/*
    为什么要学习File类？
     因为在操作系统中，需要永久保存的数据，都是以文件的形式存在，所以要想操作这些被永久保存的数据，
     就首先必须在java语言中如何描述，表示文件

 路径名：
    1.绝对路径名是 完整的路径名，不需要任何其他信息就可以定位它所表示的文件
      windows：d:\demo\first\a

    2.相反，相对路径名必须使用取自其他路径名的信息进行解释(不完整的路径名)
      windows: （d:\demo\）second\a.txt

      java语言中，相对路径默认相对于谁？
      默认情况下，java.io包中的类总是根据 当前用户目录 来解析相对路径名。此目录由系统属性 user.dir 指定，通常是 Java 虚拟机的调用目录。

     路径表示：
    1.对于类 UNIX 平台，绝对路径名的前缀始终是 "/"。相对路径名没有前缀。表示根目录的绝对路径名的前缀为 "/" 且名称序列为空。
      绝对路径： /home/zs/6379.conf
      相对路径： zs/a.txt
      根目录：  /

    2.对于 Microsoft Windows 平台，包含盘符的路径名前缀由驱动器号和一个 ":" 组成。如果路径名是绝对路径名，还可能后跟 "\\"
      绝对路径： e:\zs\a.txt
      相对路径：没有盘符前缀  zs\a.txt
 */
public class Demo1Pre {

    public static void main(String[] args) throws IOException {

        //相对路径(默认相对的目录)
        String workingDir = System.getProperty("user.dir");
        // 修改之前的默认用户目录：
        //D:\wangdao\repo\2023\java-short\short\javabasic01

        // 修改之后：
        // D:\wangdao\repo\2023\java-short\short\file
        //System.outs.println(workingDir);

        // 如何表示一个 \表示转移字符，转义字符和它后面的字符表示要给字符
        System.out.println('n');
        // 换行符
        System.out.println('\n');

        // 输出 '\'
        System.out.println('\\');


    }
}
